Embodiments described herein relate generally to software performance analysis and management, and more particularly to methods and apparatus for mobile device application performance analysis and management.
Developers of mobile device software applications generally seek to optimize the end-user experience to make an application more desirable to consumers. A key part of this optimization is improving application execution speeds and minimizing performance anomalies and errors. Many software developers perform a series of tests on their applications to discover such errors, often through one or more rounds of user testing of limited-release “alpha” or “beta” versions of an application. However, results of such tests are often insufficiently robust given their relatively limited scope and scale. Thus, many performance anomalies and errors often go undiscovered by mobile application developers, resulting in suboptimal application performance.
Thus, a need exists for methods and apparatus that programmatically gather mobile application performance and error information, correlate the information with other relevant data about the mobile device on which the application is being executed and report the information for subsequent developer analysis. A need further exists for methods and apparatus that gather, correlate and report such information in a manner that minimizes strain on the limited computation hardware and battery resources present in most mobile devices. Such functionality can inform updates and improvements to mobile device applications issued by the developer.